﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;


namespace Tworzenie_Grafiku
{
    /// <summary>
    /// Interaction logic for ZestawieniaGrafik.xaml
    /// </summary>
    public partial class ZestawieniaGrafik : Window
    {
        public ZestawieniaGrafik()
        {
            InitializeComponent();
            this.Show();
            Data_od.Text = Convert.ToString(DateTime.Now);

            Data_do.Text = Convert.ToString(DateTime.Now);
        }


        private void button1_Click(object sender, RoutedEventArgs e)
        {


            this.Close();
        }
        List<Grafik> listadanych = new List<Grafik>();
        private void button3_Click(object sender, RoutedEventArgs e)
        {

            using (LINQtoDBDataContext db = new LINQtoDBDataContext())
            {
    
           
                var records = from record in db.Grafiks
                              where Convert.ToDateTime(record.Data) >= Convert.ToDateTime(Data_od.Text) && Convert.ToDateTime(record.Data)<= Convert.ToDateTime(Data_do.Text)
                              select record;
                listadanych = records.ToList();
                }
            Tabela.ItemsSource = listadanych;
        }

        private void eksport_Click(object sender, RoutedEventArgs e)
        {
            string sciezka = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            string nazwa = System.IO.Path.Combine(sciezka, "Historia z dni " + Data_od.Text + " - " + Data_do.Text + ".txt");
            using (StreamWriter zapis = File.CreateText(nazwa))
            {
                string lekarz="";
                string pracownik;
                zapis.WriteLine("Grafiki z dni " + Data_od.Text + " - " + Data_do.Text);
                zapis.WriteLine();
                zapis.WriteLine();
                foreach (Grafik wiersz in listadanych)
                {
                   using (LINQtoDBDataContext db = new LINQtoDBDataContext())
                    {
                        Lekarz records = (from record in db.Lekarzs
                                          where record.Id_lekarza == wiersz.Id_lekarza
                                          select record).Single();
                        lekarz = "Dr. " + records.Nazwisko + " " + records.Imie;
                    }
                    using (LINQtoDBDataContext db = new LINQtoDBDataContext())
                    {
                        Pracownik records = (from record in db.Pracowniks
                                          where record.Id_pracownika == wiersz.Id_pracownika
                                          select record).Single();
                        pracownik = records.Nazwisko + " " + records.Imie;
                    }

                   
                    zapis.WriteLine("Id wizyty:" + wiersz.Id_grafiku + ", Lekarz: " + lekarz);
                    zapis.WriteLine("Dnia: " + wiersz.Data + ", w godzinach: " + wiersz.Godzina_rozpoczeczia + "-" + wiersz.Godzina_zakonczenia);
                    zapis.WriteLine("Liczba pierwszych wizyt: "+wiersz.Ilosc_wolnych_pierwszych_wizyt+"/" + wiersz.Ilosc_pierwszych_wizyt) ;
                    zapis.WriteLine("Liczba wizyt: "+wiersz.Ilosc_wolnych_miejsc+"/" + wiersz.Ilosc_pacjentow) ;
                    zapis.WriteLine("Grafik stworzony dnia: " + wiersz.Data_modyfikacji+", przez: "+pracownik);
                    zapis.WriteLine("---------------------------------------------------------------------");
                }
                zapis.Close();
            }
        }

    }
}
